<?php

/**
 * campana actions.
 *
 * @package    mediatica
 * @subpackage campana
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class campanaActions extends sfActions
{
 /**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */

    public function executeListCampana(sfWebRequest $request)
    {

      $criteria= new Criteria();
      $criteria->addJoin(CampanaPeer::ID_CLIENTE,ClientePeer::ID);
      $criteria->addGroupByColumn(ClientePeer::ID);
      $listarClientes= ClientePeer::doSelect($criteria);
       $this->listarClientes=$listarClientes;




       $criteria= new Criteria();
       $criteria->addJoin(CampanaPeer::ID_PRODUCTO, ProductoPeer::ID);
       $criteria->addGroupByColumn(CampanaPeer::ID_PRODUCTO);
       $listas=CampanaPeer::doSelect($criteria);
       $this->lista=$listas;


       
            $servicioAgencia = new agenciaClass();
            $servicioCampana = new campanaClass();

            $nombre= $request->getParameter("txtnombre");
            $estado      = $request->getParameter('estado', "");
            $cliente=$request->getParameter('clienteprod',"");
            $producto=$request->getParameter('producto',"");
           

             $criteria=  $servicioCampana->listadoCampanas($nombre,$cliente,$producto,$estado);

             $pager = new sfPropelPager('Campana', 10 );/*de cuanto en cuanto*/
             $pager->setPage($request->getParameter('page', 1));/*en paguina comienza*/
             $pager->setCriteria($criteria);
             $pager->init();

               $maxpag=$pager->getMaxPerPage();
               $pagina=$request->getParameter('page',1);

               $this->max=$maxpag;
               $this->pagina=$pagina;
               $this->pager = $pager;

               $this->estado      = $estado;
        
    }


    public function  executeCampana(sfWebRequest $request){

        $servicioAgencia = new agenciaClass();
        $servicioCliente = new clienteClass();        
        $criteriaAgencia = $servicioAgencia->listadoAgencias("","","",1);
        $criteriaCliente = $servicioCliente->listadoClientes("","","",1);
        $this->listaAgencia = AgenciaPeer::doSelect($criteriaAgencia);
        $this->listaCliente = ClientePeer::doSelect($criteriaCliente);  
    }


  public function executeGrabarCampana(sfWebRequest $request)
  {
        $this->forward404Unless($request->isMethod('post'));
        
        $servicioCampana= new campanaClass();
        $nombre=$request->getParameter("nombre");
        $cliente=$request->getParameter("clienteprod");
        $producto=$request->getParameter("producto");
        $descripcion=$request->getParameter("descripcion");
        $estado=$request->getParameter("estado");
        $fecha1=$request->getParameter("fecha1");
        $fecha2=$request->getParameter("fecha2");


        $respuesta =$servicioCampana->grabar($nombre,$cliente,$producto,$descripcion,$estado,$fecha1,$fecha2);
              
             if($respuesta['success'])
         {
             $this->getUser()->setFlash('sf_mensajeCampana', true);
         }
         else
         {
             $this->getUser()->setFlash('sf_mensajeCampana', $respuesta);
         }
        $this->redirect('@campana');
  }

public function  executeListadoCampanas(sfWebRequest $request){
    
    $servicioCampana= new campanaClass();
     $listadoCampanas =$servicioCampana->listadoCampanas();
    $this->listadoCampanas=$listadoCampanas;

}


  public function executeEditarCampana(sfWebRequest $request){

        $this->forward404Unless($request->isMethod('post'));

        $servicioCampana= new campanaClass();
        $arrayParametros=array(

            'idCampana'=>$request->getParameter('idCampana'),
            'nombre'=>$request->getParameter('nombre'),
            'descripcion'=>$request->getParameter('descripcion'),
            'estado'=>$request->getParameter('estado'),
            'cliente'=>$request->getParameter('clienteprod'),
            'producto'=>$request->getParameter('producto'),
            'fecha1'=>$request-> getParameter('fecha1'),
            'fecha2'=>$request->getParameter('fecha2')

        );

        $respuesta= $servicioCampana->editarCampana($arrayParametros);
             if($respuesta['success'])
         {
             $this->getUser()->setFlash('sf_mensajeCampana', true);
         }
         else
         {
             $this->getUser()->setFlash('sf_mensajeCampana', $respuesta);
         }
      $this->redirect('@viewCampana?idCampana='.$request->getParameter('idCampana'));



  }

  public function executeViewCampana(sfWebRequest $request){

     

      $servicioCampana = new campanaClass();
      $idCampana= $request->getParameter('idCampana');
     $respuesta= $servicioCampana->obtenerCampana($idCampana);

     if($respuesta['success']){
          $campanna = $respuesta['objecto'];


             $servicioAgencia = new agenciaClass();
           $servicioCliente = new clienteClass();
          $servicioProducto= new productoClass();
          $criteriaCliente = $servicioCliente->listadoClientes("","","",1);
           $this->listaCliente = ClientePeer::doSelect($criteriaCliente);



          $criteria  =  new Criteria();
          $criteria->add(ProductoPeer::CLIENTE_ID,$campanna->getIdCliente());
          $criteria->add(ProductoPeer::ESTADO,1);
          $listaProductos = ProductoPeer::doSelect($criteria);
          $this->lista = $listaProductos;


         $this->campana=$campanna;
         return sfView::SUCCESS;


     }
     return sfView::ERROR;
  }
  
  
  public function executeCargarProductos(sfWebRequest $request)
  {
      $idCliente = $request->getParameter('idCampana');
      $criteria  =  new Criteria();
      $criteria->add(ProductoPeer::CLIENTE_ID,$idCliente);
      $criteria->add(ProductoPeer::ESTADO,1);      
      $listaProductos = ProductoPeer::doSelect($criteria);
      $this->lista = $listaProductos;
  }



    public function executeViewCampanaReadOnly(sfWebRequest $request)
  {





        $servicioCampana= new campanaClass();
        $idCampana= $request->getParameter('idCampana');
        $respuesta=$servicioCampana->obtenerCampana($idCampana);
        if($respuesta['success'])
            {
   $campana=$respuesta['objecto'];

           $servicioCliente = new clienteClass();
          $servicioProducto= new productoClass();
          $criteriaCliente = $servicioCliente->listadoClientes("","","",1);
           $this->listaCliente = ClientePeer::doSelect($criteriaCliente);



          $criteria  =  new Criteria();
          $criteria->add(ProductoPeer::CLIENTE_ID,$campana->getIdCliente());
          $criteria->add(ProductoPeer::ESTADO,1);
          $listaProductos = ProductoPeer::doSelect($criteria);
          $this->lista = $listaProductos;

            $this->campana=$campana;

            return sfView::SUCCESS;
            }
            return  sfView::ERROR;

    }

    public function executeDeleteCampana(sfWebRequest $request)
    {
        $idCampana=$request->getParameter("idCampana");
        $serviciocampana= new campanaClass();
        $serviciocampana->deleteCampana($idCampana);
        $this->redirect('@listCampana');



        
    }



}
